home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / wb / czesc_3 / parm / 1.3 / parm.doce.pp / parm.doce
Text File  |  1993-03-30  |  34KB  |  772 lines

  1.  
  2.  
  3. Documentation for ParM V3.6, SetMouse V1.1, parm.library V4.3
  4.  
  5.  
  6. ParM stands for Parametrable Menu.
  7.  
  8. ParM  allows  you to build your own menus in order to run all the programs
  9. you  can  have  on  one ore more disks.  This is very useful for hard disk
  10. owners  who  have  programs deeply enclosed in subdirectories.  With ParM,
  11. you  can run them without going through directories under either WorkBench
  12. or CLI.
  13. With  ParM,  you  can start programs in either WorkBench or CLI mode.  The
  14. advantage  of  WorkBench mode is that the default directory of the program
  15. you run is the one in which the program file is.  But not all programs can
  16. be run in this mode.
  17. ParM  now  has an integrated SunMouse, screen blank, mouse accelerator...
  18. We decided to implement this since an input-handler was already present in
  19. parm.library,  and  we  had 3 windows in the workbench screen's title bar.
  20. One  for  sunmouse,  one  for  memory/time display, and the useless ParM's
  21. window.  So now, ParM's window is usefull, and is easier to catch for menu
  22. access.
  23.  
  24.  
  25.  
  26. IMPORTANT NOTE:
  27. ---------------
  28.     Under 2.0, you no more need the NULL:  handler nor the RunBack command
  29. for your RUN commands to be safe.  ParM (and BrowserII) use NIL:  if NULL:
  30. is  not found, and under 2.0, processes created by ParM can Open("*") even
  31. when  using NIL:.  If you don't want any output for your RUN commands, run
  32. ParM  redirected  to  NIL:   (Run  >NIL:   ParM),  and/or  use the USENULL
  33. parameter of ParM.
  34.  
  35.  
  36. Using ParM:
  37. -----------
  38.     Reading  this documentation can make you being confused with all modes
  39. you  can  use to run your favorite tools.  So, you will find at the end of
  40. this  text  a  tutorial about what modes you'd better use whether you have
  41. KickStart 1.3 or 2.0.
  42.  
  43.  
  44. Building:
  45. ---------
  46.     ParM  was  made using AztecC 5.0a, CygnusEd release 2, and ARexx 1.10.
  47.     File  headers  are done in such a way compilation can be launched from
  48.     Ced.  I use my own DevKit, completely rewritten since the original 1.2
  49.     version of the DevKit wasn't working at all.
  50.  
  51.     ParM  needs arp.library version 39 and req.library version 1.  I wrote
  52.     my  owns libraries for the Manx linker.  The ones used here are called
  53.     arps.lib  and req.lib.  The arps.lib provides a small startup code and
  54.     glues  for arp functions that cannot be prototyped, and the req.lib is
  55.     the reqglue.o given with CygnusEd rewriten as a library.
  56.  
  57.  
  58. Installation:
  59. -------------
  60.     Put ParM and SetMouse with their icons wherever you want, and just put
  61.     the  default  config  file  "ParM.cfg"  in  S:  if you use it.  If you
  62.     don't,  you'll  have to specify the config file in the command line or
  63.     in  the tool types of the icon, otherwise, you will have to cancel the
  64.     requester and won't have any menus.  Since version 2.6r, you must also
  65.     put  parm.library  in  your  LIBS:   directory.   Make  sure  you have
  66.     arp.library 39.1 or higher and req.library too.
  67.  
  68.  
  69. Running:
  70. --------
  71.     It  is  recommended  to run ParM from CLI if you want your programs to
  72.     have  a default path other than the current directory and C:  which is
  73.     the case if you start it from WorkBench.
  74.  
  75. ParM can work in three ways.
  76. 1)  You  can  attach  ParM to the CLI you are using.  In this case, if you
  77.     don't specify any of the window options, the menus will be attached to
  78.     the  CLI  window  you  start  it  from.  You may then only "Run" it to
  79.     prevent  you from closing the CLI.  In this case, commands launched in
  80.     RUN mode will use the cli/shell window for their input/output.  If you
  81.     dont  want your shell to be trashed by these commands, use the USENULL
  82.     option.
  83.  
  84. 2)  ParM can have its own window.  This is allways the case when it is run
  85.     from  WorkBench, but you can also tell it to open it's own window when
  86.     run from CLI using OWNWINDOW option or any of the window options.  You
  87.     should then "RunBack" it to be able to close the CLI later.  Don't use
  88.     arp ARun with NOIO because some programs don't like it, and those will
  89.     not run from ParM.
  90.  
  91. 3)  ParM can be attached to Workbench, ala MyMenu.
  92.  
  93.  
  94.     Warning:   you  shouldn't  run  ParM  with "Run >NIL:  ParM" under 1.3
  95.     because  it  would be detached from the CLI but still keep the console
  96.     for  it's  default  input and output file handles and some commands in
  97.     RUN  mode  may crash if you 'EndCLI' before.  Or you can do it but use
  98.     USENULL  option then.  Note that RunBack use the C:Run command and you
  99.     should  place the arp version of the Run command of your C:  directory
  100.     if  you want to use ParM as resident.
  101.  
  102.  
  103.     ParM  have  some  options  which  are  available  for most either from
  104.     WorkBench  or from CLI.  Arguments documentation is now available from
  105.     within  ParM  itself.  Just type ParM ?, and then ?  again.  Arguments
  106.     with  /s  are  switches,  and  arguments with /k are keywords and need
  107.     something more (a number, ON or OFF, a filename,...).
  108.     From  workbench,  keywords  are the same.  You just have to add  =TRUE
  109.     for switches, or =Argument for keywords.
  110.  
  111.     CLIWINDOW is not available from WorkBench.
  112.  
  113.     ParM's CLI Help:
  114.  
  115. MYMENU/s,CLIWINDOW/s,OWNWINDOW/s,LEFTEDGE/k,TOPEGE/k,DETAILPEN/k,BLOCKPEN/k,
  116. DRAGBAR/k,DEPTH/k,AUTOFRONT/k,SHOWMEM/k,SHOWTIME/k,REFRESHTIME/k,MTDETAILPEN/k,
  117. MTBLOCKPEN/k,MENUCOLOR/k,STACKSIZE/k,CONFIGFILE/k,USENULL/k: ?
  118.  
  119. ParM V3.6 © 1990-92 by S.R. & P.C.
  120. MYMENU            Attach menus to Workbench's (Like MyMenu)
  121. CLIWINDOW         Attach menus to CLI/Shell Window
  122. OWNWINDOW         Open its own window (default)
  123. LEFTEDGE          Left edge of ParM Window (default 0)
  124. DETAILPEN         Detail pen of ParM Window (default 1)
  125. BLOCKPEN          Block pen of ParM Window (default 2)
  126. DRAGBAR   ON|OFF  Drag bar (You can't move ParM window) (default on)
  127. DEPTH     ON|OFF  Depth gadgets (default off)
  128. AUTOFRONT ON|OFF  Automatic window to front (default: on)
  129. SHOWMEM   ON|OFF  Show available memory (default off)
  130. SHOWTIME  ON|OFF  Show time. (default off)
  131. REFRESHTIME       Interval time for Mem/Time refresh in 0.1s (default 1s)
  132. MTDETAILPEN       DetailPen for Mem/Time (default: DetailPen)
  133. MTBLOCKPEN        BlockPen for Mem/Time (default: BlockPen)
  134. MENUCOLOR         Color for ParM's main menu (defaut: DetailPen)
  135. STACKSIZE         Default stack size for commands (defaut: ParM process stack)
  136. CONFIGFILE        Configuration file (default: S:ParM.cfg)
  137. USENULL   ON|OFF  Redirect output to NULL: (or NIL:) for commands in RUN mode (default: off)
  138.  
  139.  
  140. Environnement variable ParMOpt:
  141. -------------------------------
  142.     In  addition to the command line, your preferences can now be saved in
  143.     the Env:ParMOpt variable.  Just snap your cli arguments and paste them
  144.     into your text editor.  Then, save the file as Env:ParMOpt.  This file
  145.     will  be  parsed  first,  and  then  the  CLI/WB arguments, which will
  146.     override the environnement variable. (See example given).
  147.  
  148.  
  149. Configuration file:
  150. -------------------
  151.     You  will  best  understand what follows if you have in front of you a
  152.     printout of the config file supplied.
  153.  
  154.     A  configuration  file  looks  like  a structured program.  You should
  155.     indent your lines to make the file as readable as possible.
  156.  
  157.     The  default  configuration file should be in the S:  directory and be
  158.     named ParM.cfg.
  159.  
  160.     The  configuration  file defines the menus you want, and what commands
  161.     they will run.  Comments begin with a #, and continue until the end of
  162.     the line.  Upper and lowercase do not make a difference.
  163.  
  164.  
  165.     Keywords:
  166.     ---------
  167.  
  168.     CMDWIN  console_name
  169.  
  170.         This  will  override  the  default console used for Command output
  171.         which is "CON:0000/0011/0640/0100/Command window/AUTO/CLOSE/WAIT".
  172.         This should be placed anywhere in the file but better be at top of
  173.         it.  This console will in 2.0 have a close gadget, a defered open,
  174.         and wait user to hit close gadget before closing window.
  175.         Under 2.0, if you use Command in Simple mode, you MUST specify the
  176.         /WAIT  option  for your console, or it will close before you could
  177.         read it.
  178.  
  179.     SHELLWIN  console_name
  180.  
  181.         This  will  override  the  default console used for SHELL commands
  182.         which  is  "CON:0000/0011/0640/0100/Shell/CLOSE".   This should be
  183.         placed anywhere in the file but better be at top of it.
  184.  
  185.     SHELLCMD  command
  186.  
  187.         This   will  override  the  default  command  used  to  create  an
  188.         interactive  shell, which  is  NewShell.  For  example, if you own
  189.         WShell,  you  can use NewWSH here.  This should be placed anywhere
  190.         in the file but better be at top of it.
  191.  
  192.     WAITCMD  command
  193.  
  194.         This  will  override  the  default command used to wait for a user
  195.         input  telling  to  close  the shell (default:  WaitReturn).  This
  196.         should be placed anywhere in the file but better be at top of it.
  197.  
  198.     TMPDIR  path
  199.  
  200.         This  will  override  the  default  temp  directory used for SHELL
  201.         scripts  which  is T:.  If your directory isn't in the root of the
  202.         device,  that is to say the dir name doesn't end with a colon (for
  203.         example  T:),  you  must  append a slash '/' to your dir name (for
  204.         example  RAM:T/).   This should be placed anywhere in the file but
  205.         better be at top of it.
  206.  
  207.     SHORTCUTQUAL qual
  208.  
  209.         This  can  be  used  to  add keys to access menus short-cuts.  For
  210.         example,  you can use Left-Amiga, ALT, SHIFT or Ctrl.  If you want
  211.         several keys, you just have to add qualifiers listed below:
  212.  
  213.             Left-Shift      1
  214.             Right-Shift     2
  215.             Ctrl            8
  216.             Left-Alt        16
  217.             Right-Alt       32
  218.             Left-Amiga      64
  219.  
  220.         If for example you want both left and right ALT keys to work for
  221.         menu shortcuts:     ( 16 + 32 = 48 ! )
  222.             SHORTCUTQUAL 48
  223.  
  224.         If  you  want shortcuts without a qualifier key, you can use 32768
  225.         (IEQUALIFIER_RELATIVEMOUSE),  which  is  allways present in RAWKEY
  226.         events. (Use with great care).
  227.         This  works  only when ParM has its own window or when attached to
  228.         Workbench.
  229.  
  230.  
  231.     ACTIVATEKEY [SCREENTOFRONT] [PASSTHROUGH] [NOCHECK] qualifier rawkey
  232.  
  233.         This  gives  you access to the simple but powerfull parm's library
  234.         input  handler.  Be carefull, rawkey is the keyboard key code, not
  235.         the ASCII code of the key.
  236.         This  gives  you the possibility to define one or more hot keys to
  237.         activate  parm's window, or any parm.library user, like "The Great
  238.         BrowserII".
  239.  
  240.         Options:
  241.             1. SCREENTOFRONT
  242.                 The screen which contains ParM's window comes to front.
  243.             2. PASSTHROUGH
  244.                 This may be hard to understand for non-programmers, but is
  245.                 powerfull  and  quite simple.  Let's say that if you don't
  246.                 use  this  option,  the  hot-key will just activate ParM's
  247.                 window, and that's all.  If you use it, the event will not
  248.                 be  removed  from list, and as ParM's window has just been
  249.                 activated,  it  will receive the raw key.  So, if this raw
  250.                 key is also a menu short cut, it will be executed without
  251.                 having to activate ParM's window with the mouse.
  252.  
  253.                 Example:
  254.  
  255.                     SHORTCUTQUAL 64                 (Left-Amiga)
  256.                     ACTIVATEKEY PASSTHROUGH 64 50   (Left-Amiga - X)
  257.  
  258.                     Menu System
  259.                         Item {X} Xoper RUN Xoper
  260.  
  261.                     This  allways  runs Xoper, without touching the mouse,
  262.                     even if ParM's window is not the active one.
  263.  
  264.                 Another example:
  265.  
  266.                     # Left ALT - Right Mouse Button
  267.                     ACTIVATEKEY PASSTHROUGH SCREENTOFRONT 8208 105
  268.  
  269.                     This activate ParM's menus, in a single click. No more
  270.                     need to search for little ParM's window.
  271.  
  272.             3. NOCHECK
  273.                 The  library keeps a list of hot-keys.  When you add a new
  274.                 hot-key  with  ACTIVATEKEY command, ParM controls if it is
  275.                 not already used.  If it is, you will be requested, and it
  276.                 will  be ignored.  If you specify NOCHECK, hot-key will be
  277.                 inserted  in  head  of  the list, and will take precedence
  278.                 over the old one.
  279.                 Here  is what I do with that:  I have a hot-key in ParM to
  280.                 load  BrowserII.  The same hot-key has the NOCHECK flag in
  281.                 BrowserII.menu.   So,  if BrowserII is already loaded, the
  282.                 hot-key   brings   BrowserII's   screen  to  front,  else,
  283.                 BrowserII is loaded by ParM.  Nice, isn't it ?
  284.  
  285.                 ParM.cfg :
  286.  
  287.                     SHORTCUTQUAL 64
  288.  
  289.                     # Left Amiga - Z   (Load BrowserII)
  290.                     ACTIVATEKEY PASSTHROUGH 64 49
  291.  
  292.                     menu Tools
  293.                         item {Z} BrowserII      RUN HD:Tools/BrowserII
  294.  
  295.                 BrowserII.menu :
  296.  
  297.                     SHORTCUTQUAL 64
  298.  
  299.                     # Left Amiga - Z
  300.                     ACTIVATEKEY SCREENTOFRONT NOCHECK 64 49
  301.  
  302.  
  303.     COLOR n
  304.  
  305.         This  will  set  the  foreground pen color for new items.  You can
  306.         change this as often as you want.  The arguments is the pen number
  307.         to  use.   The  default  is  window  detail pen.  If the color was
  308.         window  block pen, the item would be invisible, in this case, ParM
  309.         replaces the color with window detail pen.
  310.  
  311.     MENU menu_name
  312.  
  313.         Creates  a  new  menu.   Each  menu must have at least one item or
  314.         submenu.
  315.  
  316.     SUBMENU submenu_name
  317.  
  318.         Creates  a  new submenu.  Each submenu must have at least one item
  319.         and can't have submenus.
  320.         Each SUBMENU must end with an ENDSUBMENU
  321.  
  322.     ENDSUBMENU
  323.  
  324.         See SUBMENU.
  325.  
  326.     ITEM [{command-char}] item_name [WBTF] command_def
  327.  
  328.         Defines  a  new  menu  item.   Each  item  definition must have an
  329.         item_name  and  an associated command.  Each item is linked to the
  330.         current  menu  or  submenu.  An ENDSUBMENU statement tells ParM to
  331.         attach  next  items to the current menu rather than to the current
  332.         submenu.   If  any of the menu, submenu and item names may contain
  333.         whitespaces.   In this case, enclose the name in double quotes.  A
  334.         command  character may be defined for the menu item by putting the
  335.         character  after  the  ITEM  keyword  and  surround  it with {}'s.
  336.         WBTF is optionnal and works only with BrowserII. Brings workbench
  337.         to front just after running the command.
  338.         Command syntax is decribed below.
  339.  
  340.         command_def
  341.  
  342.             Programs  can  be run in four ways:  ARUN, RUN, SHELL, and WB.
  343.             For  all modes, STACK and PRI are optionnal.  If STACK is less
  344.             than  4000  bytes, or if no stack is specified, the stack will
  345.             be  set to the ParM task Stack.  That is to say the stack size
  346.             at  time  ParM  was  run.   There's  an exception:  If ParM is
  347.             resident, ParM stack will allways be 4000 bytes.
  348.  
  349.  
  350.             1) ARUN syntax
  351.  
  352.             ARUN [WIN console_window] [STACK n] [PRI n] command [args]
  353.  
  354.             This  mode should be used for most of your needs.  The console
  355.             window  is  now optionnal.  This is a CreateProc() style mode.
  356.             Some  programs  don't  like  it,  but  there is not many.  For
  357.             example  scripts  cannot  be executed.  As a general rule, you
  358.             shouldn't  use  this  mode  for commands of the C:  directory.
  359.             Use  RUN  instead.   This mode has the same limitations as the
  360.             arp ARun command.  Actually, the console is immediately closed
  361.             after  the  program  ends.   We  hope  to fix this in a future
  362.             release.   For example, I use this mode to Format my floppies,
  363.             and  I  see  in  a little window the format process.  Commands
  364.             cannot be redirected in this mode.
  365.             Note: The ARUN mode with a console (ARUN WIN console)  is  the
  366.             same as the old CLI mode. So, you can do a search/replace with
  367.             your  favorite  editor to  update  your  old  config file to a
  368.             version >= 2.2 of ParM. ( CLI ==> ARUN WIN )
  369.  
  370.  
  371.             2) RUN syntax
  372.  
  373.             RUN [WIN console_window] [STACK n] [PRI n] command [args][;command [args]]...
  374.  
  375.             This  mode  creates  a  background shell.  This mode should be
  376.             used for scripts.  If the bit s of your script file is set, it
  377.             is  automaticaly sourced (No need of the execute command).  In
  378.             this mode, commands won't be detached if ParM is attached to a
  379.             CLI  (except if you use USENULL option).  Redirection  can  be
  380.             done in this mode.
  381.             You can specify several commands separated with semicolons ;.
  382.             This mode now works under 2.0 and uses commodore resident list
  383.             rather than arp's.
  384.             WIN is now available under 2.0 (it will be ignored in 1.3).
  385.  
  386.  
  387.             2) SHELL syntax
  388.  
  389.             SHELL [WIN console_window] [STACK n] [PRI n] command [args][;command [args]]...
  390.  
  391.             This  mode  creates an interactive shell.  This mode should be
  392.             used for scripts that needs input from the user.  If the bit s
  393.             of  your  script  file  is set, it is automaticaly sourced (No
  394.             need  of  the execute command).  One more feature of this mode
  395.             is   that  you  can  specify  several  commands  separated  by
  396.             semicolons,  ie:  CD SYS:Utilities;Dir In fact, ParM creates a
  397.             script  file in a temporary directory which is T:  by default.
  398.             So  you  can  make  a  real script file.  Type it normaly, and
  399.             then,  put  a  semicolon at each end of line, and join all the
  400.             lines.   You  can  then submit this line to ParM as a command.
  401.             If  a  command  needs  a  semicolon,  you can put it after the
  402.             override  char  '\'.   Usualy, semicolons are taken as comment
  403.             delimiters.   If  no  console  is  specified,  a  parametrable
  404.             default console will be used for the shell.
  405.  
  406.  
  407.             4) WB syntax
  408.  
  409.             WB [STACK n] [PRI n] command
  410.  
  411.             Execute  command  in WorkBench mode.  No arguments are allowed
  412.             in  this  mode.  Warning:  If STACK is specified here, it will
  413.             override the stack specified in the icon of the command.  Your
  414.             command may crash if you ask a smaller stack than in the icon.
  415.             Do it at your own risk.
  416.  
  417.  
  418.             5) CFG action
  419.  
  420.             CFG ConfigFile
  421.  
  422.             ParM  loads  the  new  ConfigFile like ParM->Open in the Menu.
  423.             Very  usefull  to  use different cfg file on different disk to
  424.             choose programs on this disk.
  425.  
  426.  
  427.     For  all  modes but WB, your command is searched first in arp resident
  428.     list  and  then in CLI Path at time ParM was run.  To know the path in
  429.     which  ParM  search  its  commands, just issue the Path command in the
  430.     requester of ParM Command command, or open a newcli or shell from ParM
  431.     and issue the Path command.
  432.  
  433.     A config file is given with ParM as an example.
  434.  
  435.  
  436. ParM commands:
  437. --------------
  438.     Open:       Pops up a requester asking to select the new config file.
  439.     UpDate:     UpDate the menu reloading the config file.  Usefull if you
  440.                 modify the config file while ParM is running.
  441.     Std Cfg:    Load   the   standard   'S:ParM.cfg'  configuration  file.
  442.                 Usefull  to  return in your favorite cfg when you are lost
  443.                 in one disk cfg.
  444.     Cmd Mode:   Two  modes  are available.  Simple and Shell.  The current
  445.                 mode  is  checkmarked.   This  modes  are  for the Command
  446.                 command  (see below) In 'Simple' mode, ParM will stay busy
  447.                 while your command isn't finished, where as in Shell mode,
  448.                 Command is asynchronous.  To do that, an interactive shell
  449.                 is  created,  and  your(s)  command(s)  is  (are) put in a
  450.                 startup  file.   There is an (s) because in this mode, you
  451.                 can  put  several  commands  separated by semicolons. Same
  452.                 rules as SHELL mode in config file.
  453.                 If you own WShell and use PatchDOS, you will  have  access
  454.                 to all WShell facilities. (alias, residents commands...).
  455.                 Since ParM V3.4, simple mode under 2.0 is asynchronous and
  456.                 handle  inputs  and  CTRL-C properly. You can have several
  457.                 commands  separated by semicolons too.
  458.     Command:    Allows you to execute a single CLI command.
  459.                 Under 2.0,  your console MUST have the /WAIT option if you
  460.                 want  to be able to read the command output after its end.
  461.     Change Dir: Changes ParM current directory.  Commands run in all modes
  462.                 but WB will inherit ParM current directory.
  463.     Quit:       Why? You don't like it!
  464.  
  465.  
  466. Separated commands:
  467. -------------------
  468.   End:
  469.  
  470.     The  End command can now close a CLI in which a ParM is attached.  End
  471.     needs  EndCLI  to  work.  If there is no ParM attached to the CLI, End
  472.     will  only  do  an  EndCLI.   End  and EndCLI can be made resident for
  473.     maximum  speed.   You  can for example put ParM in your CLI-Startup or
  474.     Shell-Startup  to  have  menus in all of your CLI/Shells and you'll be
  475.     able  to  leave them with the End command without worrying about ParM.
  476.     Don't use this command in a WShell since it loads EndCLI from disk and
  477.     WShell only accept its built in EndCLI command.
  478.  
  479.  
  480.   ParMCD:
  481.  
  482.     The  ParMCD  change  the  current directory of the ParM attched to the
  483.     current  cli window.  Without argument, ParM will take the cli current
  484.     dir.  Otherwise, you can specify a directory as an argument to ParMCD.
  485.  
  486.  
  487.   WaitReturn:
  488.  
  489.     The  WaitReturn is used by the Command command if in Shell mode.  This
  490.     one  can  also  be made resident.  You can use it in your scripts.  It
  491.     just wait for the user to hit return.
  492.  
  493.  
  494. Limitations:
  495. ------------
  496.     Scripts won't run in ARUN mode, use RUN or SHELL mode instead.
  497.  
  498.     If  a  command  in  RUN or SHELL mode can't be started, you will never
  499.     know, except you won't see it working.
  500.  
  501.     When  attached  to  a  CLI,  commands  executed  in  RUN mode won't be
  502.     detached,  which  means that you won't be able to close the cli before
  503.     those  commands  end.  This is the same problem as if you had run your
  504.     command in a CLI with
  505.             1> Run mycommand
  506.     By  the  way,  theses  commands will have their output file handles in
  507.     this  window, and advantages can be taken from that.  You can redirect
  508.     these  to  NIL:   or  use USENULL option to avoid trashing of your cli
  509.     window.  In this case, commands will be detached.
  510.  
  511.     ParM  can  be  made  resident only with the arp ARes command.  Because
  512.     ParM is not really pure, when it is resident, ParM duplicates its data
  513.     and bss.  Only arp make it possible to know if we are resident or not,
  514.     and  then,  ParM  will never copy its data if it is made resident with
  515.     the  commodore  method.   So  I allways use the arp Run command to run
  516.     parm  since  the  arp  Run first searches commands in the arp resident
  517.     list.
  518.  
  519.     In  MyMenu  mode, if you use Command in Simple mode, Workbench will be
  520.     inactive until command is finished and window closed.
  521.  
  522.  
  523. Known bugs:
  524. -----------
  525.  
  526.     Specified PRI in SHELL mode isn't used. Pri is allways 0.
  527.  
  528.  
  529. Future plans:
  530. -------------
  531.  
  532. -   Decrease code size under 2 K !!!
  533. -   Make a  single  asynchronous  Command Mode  which doesn't use any disk
  534.     loaded command. (Done under OS 2.0)
  535.  
  536.  
  537. Release notes:
  538. --------------
  539.  
  540.     1.0:    Internal. Major MyMenu rework.
  541.  
  542.     1.1:    First official release. (Sent to Fred Fish)
  543.             Old CLI option changed to RB (stands for RunBack).
  544.             New CLI option added.
  545.             Config file syntax changed. (Old was MyMenu's one).
  546.  
  547.     1.4:    Internal. Option -l -d and WBRun enhanced.
  548.             Now you can run projects icons which have no file. For example
  549.             Serial, Pointer and Printer in the Prefs drawer.
  550.  
  551.     1.6:    Second official realease. 29/09/90
  552.             Code Cleanup
  553.             New CFG option added.
  554.             New 'Std cfg' menu added.
  555.  
  556.     1.7:    Internal
  557.             No more uses c16.lib, but use my owns instead.
  558.             Code size about 1.5K smaller.
  559.  
  560.     2.0:    Third Official release. 13/10/90.
  561.             ParM can now be made resident.
  562.             End command created.
  563.             Directory path string built in 'Change Dir'.
  564.  
  565.     2.1:    ParMCD command created.
  566.     2.1r:   This version uses the great req.library (r for req!)
  567.  
  568.     2.2r:   No more RB and CLI modes. New modes are ARUN, RUN, and SHELL.
  569.             STACK and PRI available in all modes but WB now.
  570.             No more need of the Run command in your C: directory.
  571.             Syntax errors in config file will now be reported with a line
  572.             and char number.
  573.  
  574.     2.3r:   You will never see again 'Workbench processes still active'.
  575.             ParM now creates a public MsgPort to handle workbench replies
  576.             and leave it if there's still messages to be replied.
  577.             Now, if your console has a close gadget, ParM will end if you
  578.             hit it. This is usefull for lucky owners of WShell.
  579.             Characters of ascii value over 127 now supported. (accents)
  580.             WAITCMD added.
  581.  
  582.     2.4r:   WB mode rewriten. STACK and PRI available in all modes now.
  583.             WB mode no more crashes if command not found. You can now run
  584.             tools that haven't an associated icon.
  585.             Memory for menus items is allocated by 1 K blocks to decrease
  586.             fragmentation.
  587.  
  588.     2.5r:   -s and -o option added.
  589.             -s (stack) is specially usefull when ParM is resident  because
  590.             in this case ParM stack is allways 4000 bytes whereas it takes
  591.             the default stack size of your cli when it is not resident. As
  592.             all commands run from ParM take as default the ParM stack size
  593.             you can specify a higher stack with this option.
  594.  
  595.     2.51r:  Minor update. Bug fixes.
  596.             ParM  no  more  crashes when run from workbench if arp.library
  597.             cannot be found.
  598.  
  599.     2.6r:   ParM now implemented as a shared library. This allow BrowserII
  600.             to take advantage of ParM's parsing and creating parametrables
  601.             menus. Put "parm.library" in LIBS:, and ParM at the same place
  602.             as before.
  603.             When  ParM  is used with it's own window, menus short-cuts can
  604.             be  accessed with  Left-Amiga  as well as standard Right-Amiga
  605.             key, except for M and N which are intuition private.
  606.             ParM window is now autofront. (user request).
  607.  
  608.     2.7:    -o  option  now  attempt to use NULL:  rather than NIL:, which
  609.             allow  to  really redirect output for RUN commands to NIL:  or
  610.             better  to  say  NULL: !  This prevent programs which open "*"
  611.             after the cli from which ParM was run to crash if cli has been
  612.             closed.  With NULL:, RUN mode is now perfectly safe and should
  613.             work in all cases.  If NULL:  isn't found, NIL:  will be used.
  614.             'r'  removed  from  version  number.   Making  a version which
  615.             doesn't use req.library is no more planned.
  616.  
  617.     2.8:    Bug fixes.
  618.             Qualifier for menu short-cuts now parametrable.
  619.  
  620.     2.9:    Implementation  of  an input handler in parm.library. It makes
  621.             possible to run a command with a hot-key, without touching the
  622.             mouse,  or  to activate ParM's menus without activating ParM's
  623.             window.
  624.  
  625.     3.0:    As a user request, ParM can now be attached to Workbench, just
  626.             like  MyMenu.  (Code stolen from MyMenu once again). Sorry and
  627.             thanks, Darin and John.
  628.             ParM now works with Console-Buffer. With some limitations. You
  629.             MUST run ParM AFTER CB, and leave ParM BEFORE CB.
  630.             You can now put several commands, separated by a ; in RUN mode
  631.             and in Command, like in SHELL mode.
  632.  
  633.     3.1:    Bug fix in workbench menus coordinates.
  634.  
  635.     3.2:    First version of SunMouse/Accelerator...
  636.             SetMouse V1.0 for Mouse Opts settings.
  637.             Optionnal Mem/Time display in ParM's window.
  638.             ParM arguments now handled with GADS() (amiga standard style).
  639.  
  640.     3.3:    InputHandler rewritten. Intuition calls done from a separate
  641.             process rather than from input-handler (prevent dead locks).
  642.  
  643.     3.4:    InputHandler and RUN mode now works under KickStart 2.0.
  644.             VGA and SuperHires video modes not yet supported.
  645.             Default Shell Command is now NewShell (for OS 2.0).
  646.             Default Shell/Command window have 2.0 specifications.
  647.             Command in Simple mode is asynchronous under 2.0 and handle
  648.             inputs and CTRL-C properly.
  649.             SetMouse V1.1. Added Qualifier for WindowToFront.
  650.  
  651.     3.5:    Bug fix. (incompatibility between USENULL and CLIWINDOW).
  652.  
  653.     3.6:    Bug fix in workbench startup.
  654.             ParM can now be attached to Workbench 2.0 menus.
  655.             You no more need NULL: under 2.0
  656.             Under 2.0, you can specify a console window for the RUN mode.
  657.  
  658.  
  659. Tutorial:
  660. ---------
  661.         Now you read about all ParM was able to do, I think you'd like to
  662.     know which mode you should use to run your favorite tools.
  663.     In fact, it depends on which version of KickStart you work.
  664.  
  665.     First, when you want to add a manu item, you should know:
  666.  
  667.     1) Does your tool support workbench run ?
  668.     2) Do you want your tool to inherit ParM's current dir, or have its own ?
  669.     3) Do you want your tool to inherit ParM's CLI Path ?
  670.     4) Do you want your tool to use a console window for its output ?
  671.  
  672.  
  673.     KickStart 2.0:
  674.     --------------
  675.         ARUN and SHELL modes are obsolete under 2.0.
  676.         So, choice between RUN and WB is easy.
  677.         If you need a console or the Path, use RUN mode.
  678.         Else, you can use WB mode.
  679.  
  680.  
  681.     KickStart 1.3:
  682.     --------------
  683.         Under 1.3, things are not so easy.
  684.         WB mode works pretty well, just like under 2.0.
  685.         If you just want to inherit ParM's path, all RUN, ARUN and SHELL
  686.         modes work.
  687.         If you don't need a console, we recommand the RUN mode, which is
  688.         perfectly safe if you use the NULL: handler.
  689.         If you need a console, the ARUN WIN mode works fine but for
  690.         executable files only (not scripts), and has a caveat: the console
  691.         get closed as soon as program finishes.
  692.         If you want to have time to read program output, or for scripts,
  693.         you must use the SHELL mode.
  694.  
  695.  
  696. SetMouse:
  697. ---------
  698.  
  699.     SetMouse is self explanatory.
  700.  
  701.     WToFront Qual:
  702.         Qualifier in decimal of the key to be hold while double clicking
  703.         to bring window to front. (0 none. just double click).
  704.         See SHORTCUTQUAL for qualifier numbers.
  705.  
  706.     SunMouse:
  707.         -1  Disable
  708.          0  Window will be activated when mouse stops moving.
  709.         >0  Window will be activated if mouse move is smaller than
  710.             specified number of pixels.
  711.  
  712.     Screen Blank is done by turning off DMA.
  713.     Mouse Blank is done by turning off DMA Sprites.
  714.     Handler Pri can be changed for eventual compatibility problems with
  715.     other input handlers. It is 51 by default. If changed, it will become
  716.     active next reset. (Or parm.library must be flushed then reopen)
  717.  
  718.     Note: Mouse utility will be active as long as parm.library has a user.
  719.           (BrowserII, ParM, or SetMouse actually).
  720.  
  721.  
  722. Acknowledgements:
  723. -----------------
  724.  
  725.     The  first  release (internal) of ParM was a major rework of MyMenu by
  726.     Darin Johnson.  The problem was that it wasn't possible to have MyMenu
  727.     without workbench, and program started from MyMenu didn't have a Path.
  728.  
  729.     So, lots of thanks to Darin Johnson for menu allocations and workbench
  730.     run.  The idea of attaching menus to the CLI and some other ideas came
  731.     from a friend who also made a menu but wasn't easy to configure.
  732.  
  733.     Great thanks to Olaf 'Olsen' Barthel for his update of arp startup for
  734.     manx 5.0, the code from which I made my own libs.
  735.  
  736.     Thanks  also  to  Colin  Fox  and  Bruce  Dawson  for  their fantastic
  737.     req.library.   We  encourage  every  programmers  to  use  it.   Every
  738.     professionnal  software  producers  should at least have a look at the
  739.     file requester.
  740.  
  741.     Thanks to S.R. and P.C. for ParM!
  742.     Thanks to Darin Johnson for MyMenu.
  743.     Thanks to William S. Hawes for ARexx and WShell.
  744.     Thanks to Pierre Ardichvili for his help to me and to Amiga.
  745.     Thanks to CygnusSoft and ASDG for their GREAT CygnusEd 2.
  746.  
  747.  
  748. Signature:
  749. ----------
  750.  
  751.     S.R. & P.C.
  752.     This is not Status Register and Program Counter but
  753.     Sylvain Rougier & Pierre Carrette.
  754.     We are Frenchies so we hope the documentation is readable.  We put our
  755.     work  in  making english language comments, but it isn't allways easy,
  756.     so be fair with us.
  757.  
  758.  
  759. Donations:
  760. ----------
  761.  
  762.     This program is not public domain.  This program is ShareWare.  If you
  763.     use  it  or if you want the last revision, send $10 ($20 for both ParM
  764.     and BrowserII) and/or bugs report to:
  765.  
  766.         Sylvain Rougier
  767.         Coiffure W
  768.         39 rue Carnot
  769.         86000 Poitiers
  770.         France.
  771.  
  772.